
const http = require('http')

const createData = require('./data')

// on = addListener 注册事件及绑定处理函数       once 只触发一次
// eventEmitter.on('abc', () => console.log('abc') )
// eventEmitter.addListener('abc', () => console.log('abc') )
// emit 触发事件并通知事件执行回调（事件处理函数）函数
// eventEmitter.emit('abc')
//  removeListener 解除事件绑定
// eventEmitter.removeListener('abc', () => console.log('abc') )
// removeAllListeners 解除所有事件绑定
// eventEmitter.removeAllListeners('abc')
// 事件监听绑定数量最多10个
// 设置最大监听器 eventEmitter.getMaxListeners()


const app = http.createServer()

const {data, emitter} = createData(app)


app.listen(8080, () =>  data.isRunning = true )

setTimeout(() => {
    app.close(() => {
        data.isRunning = false
    })
}, 3000)

setTimeout(() => {
    app.close(() => {
        data.port = 3030
    })
}, 5000)
